home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 April: Mac OS SDK / Dev.CD Apr 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / AIncludes / Gestalt.a < prev    next >
Encoding:
Text File  |  1996-05-05  |  27.9 KB  |  714 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Gestalt.a
  3. ;
  4. ;    Contains:    Gestalt Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.2.1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__GESTALT__') = 'UNDEFINED' THEN
  21. __GESTALT__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  25.     include 'Types.a'
  26.     ENDIF
  27. ;        include 'ConditionalMacros.a'                                ;
  28.  
  29.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  30.     include 'MixedMode.a'
  31.     ENDIF
  32.  
  33. gestaltAddressingModeAttr        EQU        'addr'                ; addressing mode attributes 
  34. gestalt32BitAddressing            EQU        0                    ; using 32-bit addressing mode 
  35. gestalt32BitSysZone                EQU        1                    ; 32-bit compatible system zone 
  36. gestalt32BitCapable                EQU        2                    ; Machine is 32-bit capable 
  37.  
  38. gestaltAliasMgrAttr                EQU        'alis'                ; Alias Mgr Attributes 
  39. gestaltAliasMgrPresent            EQU        0                    ; True if the Alias Mgr is present 
  40. gestaltAliasMgrSupportsRemoteAppletalk EQU        1            ; True if the Alias Mgr knows about Remote Appletalk 
  41.  
  42. gestaltAppleTalkVersion            EQU        'atlk'
  43.  
  44. gestaltAUXVersion                EQU        'a/ux'
  45.  
  46. gestaltCloseViewAttr            EQU        'BSDa'                ; CloseView attributes 
  47. gestaltCloseViewEnabled            EQU        0                    ; Closeview enabled (dynamic bit - returns current state) 
  48. gestaltCloseViewDisplayMgrFriendly EQU        1                ; Closeview compatible with Display Manager (FUTURE) 
  49.  
  50. gestaltCFMAttr                    EQU        'cfrg'                ; returns information about the Code Fragment Manager 
  51. gestaltCFMPresent                EQU        0                    ; true if the Code Fragment Manager is present 
  52.  
  53. gestaltColorMatchingAttr        EQU        'cmta'                ; ColorSync attributes 
  54. gestaltHighLevelMatching        EQU        0
  55. gestaltColorMatchingLibLoaded    EQU        1
  56.  
  57. gestaltColorMatchingVersion        EQU        'cmtc'
  58. gestaltColorSync10                EQU        $0100                ; 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product 
  59. gestaltColorSync11                EQU        $0110                ;   0x0100 == low-level matching only 
  60. gestaltColorSync104                EQU        $0104                ; Real version, by popular demand 
  61. gestaltColorSync105                EQU        $0105
  62.  
  63. gestaltConnMgrAttr                EQU        'conn'                ; connection mgr attributes    
  64. gestaltConnMgrPresent            EQU        0
  65. gestaltConnMgrCMSearchFix        EQU        1                    ; Fix to CMAddSearch?     
  66. gestaltConnMgrErrorString        EQU        2                    ; has CMGetErrorString() 
  67. gestaltConnMgrMultiAsyncIO        EQU        3                    ; CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill 
  68.  
  69. gestaltComponentMgr                EQU        'cpnt'
  70.  
  71. gestaltColorPickerVersion        EQU        'cpkr'                ; returns version of ColorPicker 
  72. gestaltColorPicker                EQU        'cpkr'
  73. ;
  74. ;    The gestaltNativeCPUtype ('cput') selector can be used to determine the
  75. ;    native CPU type for all Macs running System 7.5 or later.
  76. ;    
  77. ;    The 'cput' selector is not available when running System 7.0 (or earlier)
  78. ;    on most 68K machines.  If 'cput' is not available, then the 'proc' selector
  79. ;    should be used to determine the processor type.
  80. ;    
  81. ;    An application should always try the 'cput' selector first.  This is because,
  82. ;    on PowerPC machines, the 'proc' selector will reflect the CPU type of the
  83. ;    emulator's "virtual processor" rather than the native CPU type.
  84. ;    
  85. ;    The values specified below are accurate.  Prior versions of the Gestalt
  86. ;    interface file contained values that were off by one.
  87. ;    
  88. ;    The Quadra 840AV and the Quadra 660AV contain a bug in the ROM code that
  89. ;    causes the 'cput' selector to respond with the value 5.  This behavior
  90. ;    occurs only when running System 7.1.  System 7.5 fixes the bug by replacing
  91. ;    the faulty 'cput' selector function with the correct one.
  92. ;
  93.  
  94. gestaltNativeCPUtype            EQU        'cput'                ; Native CPU type                                       
  95. gestaltCPU68000                    EQU        0                    ; Various 68k CPUs...     
  96. gestaltCPU68010                    EQU        1
  97. gestaltCPU68020                    EQU        2
  98. gestaltCPU68030                    EQU        3
  99. gestaltCPU68040                    EQU        4
  100. gestaltCPU601                    EQU        $0101                ; IBM 601                                                 
  101. gestaltCPU603                    EQU        $0103
  102. gestaltCPU604                    EQU        $0104
  103. gestaltCPU603e                    EQU        $0106
  104.  
  105. gestaltCRMAttr                    EQU        'crm '                ; comm resource mgr attributes 
  106. gestaltCRMPresent                EQU        0
  107. gestaltCRMPersistentFix            EQU        1                    ; fix for persistent tools 
  108. gestaltCRMToolRsrcCalls            EQU        2                    ; has CRMGetToolResource/ReleaseToolResource 
  109.  
  110. gestaltControlStripVersion        EQU        'csvr'
  111.  
  112. gestaltCTBVersion                EQU        'ctbv'
  113.  
  114. gestaltDBAccessMgrAttr            EQU        'dbac'                ; Database Access Mgr attributes 
  115. gestaltDBAccessMgrPresent        EQU        0                    ; True if Database Access Mgr present 
  116.  
  117. gestaltDictionaryMgrAttr        EQU        'dict'                ; Dictionary Manager attributes 
  118. gestaltDictionaryMgrPresent        EQU        0                    ; Dictionary Manager attributes 
  119.  
  120. gestaltDITLExtAttr                EQU        'ditl'                ; AppenDITL, etc. calls from CTB 
  121. gestaltDITLExtPresent            EQU        0                    ; True if calls are present 
  122.  
  123. gestaltDisplayMgrAttr            EQU        'dply'                ; Display Manager attributes 
  124. gestaltDisplayMgrPresent        EQU        0                    ; True if Display Mgr is present 
  125. gestaltDisplayMgrCanSwitchMirrored EQU        2                ; True if Display Mgr can switch modes on mirrored displays 
  126. gestaltDisplayMgrSetDepthNotifies EQU        3                    ; True SetDepth generates displays mgr notification 
  127.  
  128. gestaltDisplayMgrVers            EQU        'dplv'
  129.  
  130. gestaltDragMgrAttr                EQU        'drag'                ; Drag Manager attributes 
  131. gestaltDragMgrPresent            EQU        0                    ; Drag Manager is present 
  132. gestaltDragMgrFloatingWind        EQU        1                    ; Drag Manager supports floating windows 
  133. gestaltPPCDragLibPresent        EQU        2                    ; Drag Manager PPC DragLib is present 
  134.  
  135. gestaltEasyAccessAttr            EQU        'easy'                ; Easy Access attributes 
  136. gestaltEasyAccessOff            EQU        0                    ; if Easy Access present, but off (no icon) 
  137. gestaltEasyAccessOn                EQU        1                    ; if Easy Access "On" 
  138. gestaltEasyAccessSticky            EQU        2                    ; if Easy Access "Sticky" 
  139. gestaltEasyAccessLocked            EQU        3                    ; if Easy Access "Locked" 
  140.  
  141. gestaltEditionMgrAttr            EQU        'edtn'                ; Edition Mgr attributes 
  142. gestaltEditionMgrPresent        EQU        0                    ; True if Edition Mgr present 
  143. gestaltEditionMgrTranslationAware EQU        1                    ; True if edition manager is translation manager aware 
  144.  
  145. gestaltAppleEventsAttr            EQU        'evnt'                ; Apple Events attributes 
  146. gestaltAppleEventsPresent        EQU        0                    ; True if Apple Events present 
  147. gestaltScriptingSupport            EQU        1
  148. gestaltOSLInSystem                EQU        2                    ; OSL is in system so don’t use the one linked in to app 
  149.  
  150. gestaltFinderAttr                EQU        'fndr'                ; Finder attributes 
  151. gestaltFinderDropEvent            EQU        0                    ; Finder recognizes drop event 
  152. gestaltFinderMagicPlacement        EQU        1                    ; Finder supports magic icon placement 
  153. gestaltFinderCallsAEProcess        EQU        2                    ; Finder calls AEProcessAppleEvent 
  154. gestaltOSLCompliantFinder        EQU        3                    ; Finder is scriptable and recordable 
  155. gestaltFinderSupports4GBVolumes    EQU        4                    ; Finder correctly handles 4GB volumes 
  156. gestaltFinderHasClippings        EQU        6                    ; Finder supports Drag Manager clipping files 
  157.  
  158. gestaltFindFolderAttr            EQU        'fold'                ; Folder Mgr attributes 
  159. gestaltFindFolderPresent        EQU        0                    ; True if Folder Mgr present 
  160.  
  161. gestaltFontMgrAttr                EQU        'font'                ; Font Mgr attributes 
  162. gestaltOutlineFonts                EQU        0                    ; True if Outline Fonts supported 
  163.  
  164. gestaltFPUType                    EQU        'fpu '                ; fpu type 
  165. gestaltNoFPU                    EQU        0                    ; no FPU 
  166. gestalt68881                    EQU        1                    ; 68881 FPU 
  167. gestalt68882                    EQU        2                    ; 68882 FPU 
  168. gestalt68040FPU                    EQU        3                    ; 68040 built-in FPU 
  169.  
  170. gestaltFSAttr                    EQU        'fs  '                ; file system attributes 
  171. gestaltFullExtFSDispatching        EQU        0                    ; has really cool new HFSDispatch dispatcher 
  172. gestaltHasFSSpecCalls            EQU        1                    ; has FSSpec calls 
  173. gestaltHasFileSystemManager        EQU        2                    ; has a file system manager 
  174. gestaltFSMDoesDynamicLoad        EQU        3                    ; file system manager supports dynamic loading 
  175. gestaltFSSupports4GBVols        EQU        4                    ; file system supports 4 gigabyte volumes 
  176. gestaltFSSupports2TBVols        EQU        5                    ; file system supports 2 terabyte volumes 
  177. gestaltHasExtendedDiskInit        EQU        6                    ; has extended Disk Initialization calls 
  178.  
  179.     IF ¬ OLDROUTINELOCATIONS  THEN
  180. gestaltFSMVersion                EQU        'fsm '
  181.  
  182.     ENDIF
  183. gestaltFXfrMgrAttr                EQU        'fxfr'                ; file transfer manager attributes 
  184. gestaltFXfrMgrPresent            EQU        0
  185. gestaltFXfrMgrMultiFile            EQU        1                    ; supports FTSend and FTReceive 
  186. gestaltFXfrMgrErrorString        EQU        2                    ; supports FTGetErrorString 
  187.  
  188. gestaltGraphicsAttr                EQU        'gfxa'                ; Quickdraw GX attributes selector 
  189. gestaltGraphicsIsDebugging        EQU        $00000001
  190. gestaltGraphicsIsLoaded            EQU        $00000002
  191. gestaltGraphicsIsPowerPC        EQU        $00000004
  192.  
  193. gestaltGraphicsVersion            EQU        'grfx'                ; Quickdraw GX version selector 
  194. gestaltCurrentGraphicsVersion    EQU        $00010000            ; the version described in this set of headers 
  195.  
  196. gestaltHardwareAttr                EQU        'hdwr'                ; hardware attributes 
  197. gestaltHasVIA1                    EQU        0                    ; VIA1 exists 
  198. gestaltHasVIA2                    EQU        1                    ; VIA2 exists 
  199. gestaltHasASC                    EQU        3                    ; Apple Sound Chip exists 
  200. gestaltHasSCC                    EQU        4                    ; SCC exists 
  201. gestaltHasSCSI                    EQU        7                    ; SCSI exists 
  202. gestaltHasSoftPowerOff            EQU        19                    ; Capable of software power off 
  203. gestaltHasSCSI961                EQU        21                    ; 53C96 SCSI controller on internal bus 
  204. gestaltHasSCSI962                EQU        22                    ; 53C96 SCSI controller on external bus 
  205. gestaltHasUniversalROM            EQU        24                    ; Do we have a Universal ROM? 
  206. gestaltHasEnhancedLtalk            EQU        30                    ; Do we have Enhanced LocalTalk? 
  207.  
  208. gestaltHelpMgrAttr                EQU        'help'                ; Help Mgr Attributes 
  209. gestaltHelpMgrPresent            EQU        0                    ; true if help mgr is present 
  210. gestaltHelpMgrExtensions        EQU        1                    ; true if help mgr extensions are installed 
  211.  
  212. gestaltCompressionMgr            EQU        'icmp'
  213.  
  214. gestaltIconUtilitiesAttr        EQU        'icon'                ; Icon Utilities attributes  (Note: available in System 7.0, despite gestalt) 
  215. gestaltIconUtilitiesPresent        EQU        0                    ; true if icon utilities are present 
  216.  
  217. gestaltKeyboardType                EQU        'kbd '                ; keyboard type 
  218. gestaltMacKbd                    EQU        1
  219. gestaltMacAndPad                EQU        2
  220. gestaltMacPlusKbd                EQU        3
  221. gestaltExtADBKbd                EQU        4
  222. gestaltStdADBKbd                EQU        5
  223. gestaltPrtblADBKbd                EQU        6
  224. gestaltPrtblISOKbd                EQU        7
  225. gestaltStdISOADBKbd                EQU        8
  226. gestaltExtISOADBKbd                EQU        9
  227. gestaltADBKbdII                    EQU        10
  228. gestaltADBISOKbdII                EQU        11
  229. gestaltPwrBookADBKbd            EQU        12
  230. gestaltPwrBookISOADBKbd            EQU        13
  231. gestaltAppleAdjustKeypad        EQU        14
  232. gestaltAppleAdjustADBKbd        EQU        15
  233. gestaltAppleAdjustISOKbd        EQU        16
  234. gestaltJapanAdjustADBKbd        EQU        17                    ; Japan Adjustable Keyboard 
  235. gestaltPwrBkExtISOKbd            EQU        20                    ; PowerBook Extended International Keyboard with function keys 
  236. gestaltPwrBkExtJISKbd            EQU        21                    ; PowerBook Extended Japanese Keyboard with function keys         
  237. gestaltPwrBkExtADBKbd            EQU        24                    ; PowerBook Extended Domestic Keyboard with function keys         
  238.  
  239. gestaltLowMemorySize            EQU        'lmem'
  240.  
  241. gestaltLogicalRAMSize            EQU        'lram'
  242.  
  243. gestaltMachineType                EQU        'mach'                ; machine type 
  244. gestaltClassic                    EQU        1
  245. gestaltMacXL                    EQU        2
  246. gestaltMac512KE                    EQU        3
  247. gestaltMacPlus                    EQU        4
  248. gestaltMacSE                    EQU        5
  249. gestaltMacII                    EQU        6
  250. gestaltMacIIx                    EQU        7
  251. gestaltMacIIcx                    EQU        8
  252. gestaltMacSE030                    EQU        9
  253. gestaltPortable                    EQU        10
  254. gestaltMacIIci                    EQU        11
  255. gestaltMacIIfx                    EQU        13
  256. gestaltMacClassic                EQU        17
  257. gestaltMacIIsi                    EQU        18
  258. gestaltMacLC                    EQU        19
  259. gestaltQuadra900                EQU        20
  260. gestaltPowerBook170                EQU        21
  261. gestaltQuadra700                EQU        22
  262. gestaltClassicII                EQU        23
  263. gestaltPowerBook100                EQU        24
  264. gestaltPowerBook140                EQU        25
  265. gestaltQuadra950                EQU        26
  266. gestaltMacLCIII                    EQU        27
  267. gestaltPerforma450                EQU        gestaltMacLCIII
  268. gestaltPowerBookDuo210            EQU        29
  269. gestaltMacCentris650            EQU        30
  270. gestaltPowerBookDuo230            EQU        32
  271. gestaltPowerBook180                EQU        33
  272. gestaltPowerBook160                EQU        34
  273. gestaltMacQuadra800                EQU        35
  274. gestaltMacQuadra650                EQU        36
  275. gestaltMacLCII                    EQU        37
  276. gestaltPowerBookDuo250            EQU        38
  277. gestaltAWS9150_80                EQU        39
  278. gestaltPowerMac8100_110            EQU        40
  279. gestaltAWS8150_110                EQU        gestaltPowerMac8100_110
  280. gestaltMacIIvi                    EQU        44
  281. gestaltMacIIvm                    EQU        45
  282. gestaltPerforma600                EQU        gestaltMacIIvm
  283. gestaltPowerMac7100_80            EQU        47
  284. gestaltMacIIvx                    EQU        48
  285. gestaltMacColorClassic            EQU        49
  286. gestaltPerforma250                EQU        gestaltMacColorClassic
  287. gestaltPowerBook165c            EQU        50
  288. gestaltMacCentris610            EQU        52
  289. gestaltMacQuadra610                EQU        53
  290. gestaltPowerBook145                EQU        54
  291. gestaltPowerMac8100_100            EQU        55
  292. gestaltMacLC520                    EQU        56
  293. gestaltAWS9150_120                EQU        57
  294. gestaltMacCentris660AV            EQU        60
  295. gestaltPerforma46x                EQU        62
  296. gestaltPowerMac8100_80            EQU        65
  297. gestaltAWS8150_80                EQU        gestaltPowerMac8100_80
  298. gestaltPowerBook180c            EQU        71
  299. gestaltPowerMac6100_60            EQU        75
  300. gestaltAWS6150_60                EQU        gestaltPowerMac6100_60
  301. gestaltPowerBookDuo270c            EQU        77
  302. gestaltMacQuadra840AV            EQU        78
  303. gestaltPerforma550                EQU        80
  304. gestaltPowerBook165                EQU        84
  305. gestaltMacTV                    EQU        88
  306. gestaltMacLC475                    EQU        89
  307. gestaltPerforma47x                EQU        gestaltMacLC475
  308. gestaltMacLC575                    EQU        92
  309. gestaltMacQuadra605                EQU        94
  310. gestaltQuadra630                EQU        98
  311. gestaltPowerMac6100_66            EQU        100
  312. gestaltAWS6150_66                EQU        gestaltPowerMac6100_66
  313. gestaltPowerBookDuo280            EQU        102
  314. gestaltPowerBookDuo280c            EQU        103
  315. gestaltPowerMac7100_66            EQU        112                    ; Power Macintosh 7100/66 
  316. gestaltPowerBook150                EQU        115
  317.  
  318. kMachineNameStrID                EQU        -16395
  319.  
  320. gestaltMachineIcon                EQU        'micn'
  321.  
  322. gestaltMiscAttr                    EQU        'misc'                ; miscellaneous attributes 
  323. gestaltScrollingThrottle        EQU        0                    ; true if scrolling throttle on 
  324. gestaltSquareMenuBar            EQU        2                    ; true if menu bar is square 
  325.  
  326. ;
  327. ;    The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
  328. ;    The same selector has been renamed gestaltMixedModeAttr to properly reflect the
  329. ;    Inside Mac: PowerPC System Software documentation.  The gestaltMixedModeVersion
  330. ;    symbol has been preserved only for backwards compatibility.
  331. ;
  332. ;    Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
  333. ;    will be removed in a future release of the Interfaces.
  334. ;
  335. ;    For the first version of Mixed Mode, both meanings of the 'mixd' selector are
  336. ;    functionally identical.  They both return 0x00000001.  In subsequent versions
  337. ;    of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
  338. ;    version number, but rather, with 32 attribute bits with various meanings.
  339. ;
  340. gestaltMixedModeVersion            EQU        'mixd'
  341.  
  342. gestaltMixedModeAttr            EQU        'mixd'                ; returns Mixed Mode attributes 
  343. gestaltPowerPCAware                EQU        0                    ; true if Mixed Mode Manager supports PowerPC 
  344.  
  345. gestaltMMUType                    EQU        'mmu '                ; mmu type 
  346. gestaltNoMMU                    EQU        0                    ; no MMU 
  347. gestaltAMU                        EQU        1                    ; address management unit 
  348. gestalt68851                    EQU        2                    ; 68851 PMMU 
  349. gestalt68030MMU                    EQU        3                    ; 68030 built-in MMU 
  350. gestalt68040MMU                    EQU        4                    ; 68040 built-in MMU 
  351. gestaltEMMU1                    EQU        5                    ; Emulated MMU type 1  
  352.  
  353. gestaltStdNBPAttr                EQU        'nlup'                ; standard nbp attributes 
  354. gestaltStdNBPPresent            EQU        0
  355.  
  356. gestaltNotificationMgrAttr        EQU        'nmgr'                ; notification manager attributes 
  357. gestaltNotificationPresent        EQU        0                    ; notification manager exists 
  358.  
  359. gestaltNameRegistryVersion        EQU        'nreg'
  360.  
  361. gestaltNuBusSlotCount            EQU        'nubs'
  362.  
  363. gestaltOpenFirmwareInfo            EQU        'opfw'
  364.  
  365. gestaltOSAttr                    EQU        'os  '                ; o/s attributes 
  366. gestaltSysZoneGrowable            EQU        0                    ; system heap is growable 
  367. gestaltLaunchCanReturn            EQU        1                    ; can return from launch 
  368. gestaltLaunchFullFileSpec        EQU        2                    ; can launch from full file spec 
  369. gestaltLaunchControl            EQU        3                    ; launch control support available 
  370. gestaltTempMemSupport            EQU        4                    ; temp memory support 
  371. gestaltRealTempMemory            EQU        5                    ; temp memory handles are real 
  372. gestaltTempMemTracked            EQU        6                    ; temporary memory handles are tracked 
  373. gestaltIPCSupport                EQU        7                    ; IPC support is present 
  374. gestaltSysDebuggerSupport        EQU        8                    ; system debugger support is present 
  375.  
  376. gestaltOSTable                    EQU        'ostt'
  377.  
  378. gestaltPCXAttr                    EQU        'pcxg'                ; PC Exchange attributes 
  379. gestaltPCXHas8and16BitFAT        EQU        0                    ; PC Exchange supports both 8 and 16 bit FATs 
  380. gestaltPCXHasProDOS                EQU        1                    ; PC Exchange supports ProDOS 
  381.  
  382. gestaltLogicalPageSize            EQU        'pgsz'
  383.  
  384. gestaltPopupAttr                EQU        'pop!'                ; popup cdef attributes 
  385. gestaltPopupPresent                EQU        0
  386.  
  387. gestaltPowerMgrAttr                EQU        'powr'                ; power manager attributes 
  388. gestaltPMgrExists                EQU        0
  389. gestaltPMgrCPUIdle                EQU        1
  390. gestaltPMgrSCC                    EQU        2
  391. gestaltPMgrSound                EQU        3
  392. gestaltPMgrDispatchExists        EQU        4
  393.  
  394. ;
  395. ; * PPC will return the combination of following bit fields.
  396. ; * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  397. ; * indicates PPC is cuurently is only supports real time delivery
  398. ; * and both incoming and outgoing network sessions are allowed.
  399. ; * By default local real time delivery is supported as long as PPCInit has been called.
  400. gestaltPPCToolboxAttr            EQU        'ppc '                ; PPC toolbox attributes 
  401. gestaltPPCToolboxPresent        EQU        $0000                ; PPC Toolbox is present  Requires PPCInit to be called 
  402. gestaltPPCSupportsRealTime        EQU        $1000                ; PPC Supports real-time delivery 
  403. gestaltPPCSupportsIncoming        EQU        $0001                ; PPC will deny incoming network requests 
  404. gestaltPPCSupportsOutGoing        EQU        $0002                ; PPC will deny outgoing network requests 
  405.  
  406. gestaltProcessorType            EQU        'proc'                ; processor type 
  407. gestalt68000                    EQU        1
  408. gestalt68010                    EQU        2
  409. gestalt68020                    EQU        3
  410. gestalt68030                    EQU        4
  411. gestalt68040                    EQU        5
  412.  
  413. gestaltParityAttr                EQU        'prty'                ; parity attributes 
  414. gestaltHasParityCapability        EQU        0                    ; has ability to check parity 
  415. gestaltParityEnabled            EQU        1                    ; parity checking enabled 
  416.  
  417. gestaltQuickdrawVersion            EQU        'qd  '                ; quickdraw version 
  418. gestaltOriginalQD                EQU        $000                ; original 1-bit QD 
  419. gestalt8BitQD                    EQU        $100                ; 8-bit color QD 
  420. gestalt32BitQD                    EQU        $200                ; 32-bit color QD 
  421. gestalt32BitQD11                EQU        $201                ; 32-bit color QDv1.1 
  422. gestalt32BitQD12                EQU        $220                ; 32-bit color QDv1.2 
  423. gestalt32BitQD13                EQU        $230                ; 32-bit color QDv1.3 
  424.  
  425. gestaltQuickdrawFeatures        EQU        'qdrw'                ; quickdraw features 
  426. gestaltHasColor                    EQU        0                    ; color quickdraw present 
  427. gestaltHasDeepGWorlds            EQU        1                    ; GWorlds can be deeper than 1-bit 
  428. gestaltHasDirectPixMaps            EQU        2                    ; PixMaps can be direct (16 or 32 bit) 
  429. gestaltHasGrayishTextOr            EQU        3                    ; supports text mode grayishTextOr 
  430. gestaltSupportsMirroring        EQU        4                    ; Supports video mirroring via the Display Manager. 
  431.  
  432. gestaltQuickTimeVersion            EQU        'qtim'                ; returns version of QuickTime 
  433. gestaltQuickTime                EQU        'qtim'
  434.  
  435. gestaltQuickTimeFeatures        EQU        'qtrs'
  436. gestaltPPCQuickTimeLibPresent    EQU        0                    ; PowerPC QuickTime glue library is present 
  437.  
  438. gestaltPhysicalRAMSize            EQU        'ram '
  439.  
  440. gestaltRBVAddr                    EQU        'rbv '
  441.  
  442. gestaltROMSize                    EQU        'rom '
  443.  
  444. gestaltROMVersion                EQU        'romv'
  445.  
  446. gestaltResourceMgrAttr            EQU        'rsrc'                ; Resource Mgr attributes 
  447. gestaltPartialRsrcs                EQU        0                    ; True if partial resources exist 
  448.  
  449. gestaltRealtimeMgrAttr            EQU        'rtmr'                ; Realtime manager attributes            
  450. gestaltRealtimeMgrPresent        EQU        0                    ; true if the Realtime manager is present     
  451.  
  452. gestaltSCCReadAddr                EQU        'sccr'
  453.  
  454. gestaltSCCWriteAddr                EQU        'sccw'
  455.  
  456. gestaltScrapMgrAttr                EQU        'scra'                ; Scrap Manager attributes 
  457. gestaltScrapMgrTranslationAware    EQU        0                    ; True if scrap manager is translation aware 
  458.  
  459. gestaltScriptMgrVersion            EQU        'scri'
  460.  
  461. gestaltScriptCount                EQU        'scr#'
  462.  
  463. gestaltSCSI                        EQU        'scsi'                ; SCSI Manager attributes 
  464. gestaltAsyncSCSI                EQU        0                    ; Supports Asynchronous SCSI 
  465. gestaltAsyncSCSIINROM            EQU        1                    ; Async scsi is in ROM (available for booting) 
  466. gestaltSCSISlotBoot                EQU        2                    ; ROM supports Slot-style PRAM for SCSI boots (PDM and later) 
  467.  
  468. gestaltControlStripAttr            EQU        'sdev'                ; Control Strip attributes 
  469. gestaltControlStripExists        EQU        0                    ; Control Strip is installed 
  470. gestaltControlStripVersionFixed    EQU        1                    ; Control Strip version Gestalt selector was fixed 
  471. gestaltControlStripUserFont        EQU        2                    ; supports user-selectable font/size 
  472. gestaltControlStripUserHotKey    EQU        3                    ; support user-selectable hot key to show/hide the window 
  473.  
  474. gestaltSerialAttr                EQU        'ser '                ; Serial attributes 
  475. gestaltHasGPIaToDCDa            EQU        0                    ; GPIa connected to DCDa
  476. gestaltHasGPIaToRTxCa            EQU        1                    ; GPIa connected to RTxCa clock input
  477. gestaltHasGPIbToDCDb            EQU        2                    ; GPIb connected to DCDb 
  478.  
  479. gestaltNuBusConnectors            EQU        'sltc'
  480.  
  481. gestaltSlotAttr                    EQU        'slot'                ; slot attributes  
  482. gestaltSlotMgrExists            EQU        0                    ; true is slot mgr exists  
  483. gestaltNuBusPresent                EQU        1                    ; NuBus slots are present  
  484. gestaltSESlotPresent            EQU        2                    ; SE PDS slot present  
  485. gestaltSE30SlotPresent            EQU        3                    ; SE/30 slot present  
  486. gestaltPortableSlotPresent        EQU        4                    ; Portable’s slot present  
  487.  
  488. gestaltFirstSlotNumber            EQU        'slt1'
  489.  
  490. gestaltSoundAttr                EQU        'snd '                ; sound attributes 
  491. gestaltStereoCapability            EQU        0                    ; sound hardware has stereo capability 
  492. gestaltStereoMixing                EQU        1                    ; stereo mixing on external speaker 
  493. gestaltSoundIOMgrPresent        EQU        3                    ; The Sound I/O Manager is present 
  494. gestaltBuiltInSoundInput        EQU        4                    ; built-in Sound Input hardware is present 
  495. gestaltHasSoundInputDevice        EQU        5                    ; Sound Input device available 
  496. gestaltPlayAndRecord            EQU        6                    ; built-in hardware can play and record simultaneously 
  497. gestalt16BitSoundIO                EQU        7                    ; sound hardware can play and record 16-bit samples 
  498. gestaltStereoInput                EQU        8                    ; sound hardware can record stereo 
  499. gestaltLineLevelInput            EQU        9                    ; sound input port requires line level 
  500. ; the following bits are not defined prior to Sound Mgr 3.0 
  501. gestaltSndPlayDoubleBuffer        EQU        10                    ; SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later 
  502. gestaltMultiChannels            EQU        11                    ; multiple channel support, set by Sound Mgr 3.0 and later 
  503. gestalt16BitAudioSupport        EQU        12                    ; 16 bit audio data supported, set by Sound Mgr 3.0 and later 
  504.  
  505. gestaltStandardFileAttr            EQU        'stdf'                ; Standard File attributes 
  506. gestaltStandardFile58            EQU        0                    ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported 
  507. gestaltStandardFileTranslationAware EQU        1                ; True if standard file is translation manager aware 
  508. gestaltStandardFileHasColorIcons EQU        2                    ; True if standard file has 16x16 color icons 
  509. gestaltStandardFileUseGenericIcons EQU        3                ; Standard file LDEF to use only the system generic icons if true 
  510. gestaltStandardFileHasDynamicVolumeAllocation EQU        4        ; True if standard file supports more than 20 volumes 
  511.  
  512. gestaltSysArchitecture            EQU        'sysa'                ; Native System Architecture 
  513. gestalt68k                        EQU        1                    ; Motorola MC68k architecture 
  514. gestaltPowerPC                    EQU        2                    ; IBM PowerPC architecture 
  515.  
  516. gestaltSystemVersion            EQU        'sysv'
  517.  
  518. gestaltTSMgrVersion                EQU        'tsmv'                ; Text Services Mgr version, if present 
  519. gestaltTSMgr2                    EQU        $200
  520.  
  521. gestaltTSMgrAttr                EQU        'tsma'                ; Text Services Mgr attributes, if present 
  522. gestaltTSMDisplayMgrAwareBit    EQU        0                    ; TSM knows about display manager 
  523. gestaltTSMdoesTSMTEBit            EQU        1                    ; TSM has integrated TSMTE 
  524.  
  525. gestaltTSMTEVersion                EQU        'tmTV'
  526. gestaltTSMTE1                    EQU        $100
  527. gestaltTSMTE2                    EQU        $200
  528.  
  529. gestaltTSMTEAttr                EQU        'tmTE'
  530. gestaltTSMTEPresent                EQU        0
  531. gestaltTSMTE                    EQU        0                    ; gestaltTSMTE is old name for gestaltTSMTEPresent 
  532.  
  533. gestaltTextEditVersion            EQU        'te  '                ; TextEdit version number 
  534. gestaltTE1                        EQU        1                    ; TextEdit in MacIIci ROM 
  535. gestaltTE2                        EQU        2                    ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) 
  536. gestaltTE3                        EQU        3                    ; TextEdit with 6.0.4 Script Systems all but MacIIci 
  537. gestaltTE4                        EQU        4                    ; TextEdit in System 7.0 
  538. gestaltTE5                        EQU        5                    ; TextWidthHook available in TextEdit 
  539. gestaltTE6                        EQU        6                    ; TextEdit in System 8.0 
  540.  
  541. gestaltTEAttr                    EQU        'teat'                ; TextEdit attributes 
  542. gestaltTEHasGetHiliteRgn        EQU        0                    ; TextEdit has TEGetHiliteRgn 
  543. gestaltTESupportsInlineInput    EQU        1                    ; TextEdit does Inline Input 
  544. gestaltTESupportsTextObjects    EQU        2                    ; TextEdit does Text Objects 
  545.  
  546. gestaltTeleMgrAttr                EQU        'tele'                ; Telephone manager attributes 
  547. gestaltTeleMgrPresent            EQU        0
  548. gestaltTeleMgrPowerPCSupport    EQU        1
  549. gestaltTeleMgrSoundStreams        EQU        2
  550. gestaltTeleMgrAutoAnswer        EQU        3
  551. gestaltTeleMgrIndHandset        EQU        4
  552. gestaltTeleMgrSilenceDetect        EQU        5
  553. gestaltTeleMgrNewTELNewSupport    EQU        6
  554.  
  555. gestaltTermMgrAttr                EQU        'term'                ; terminal mgr attributes 
  556. gestaltTermMgrPresent            EQU        0
  557. gestaltTermMgrErrorString        EQU        2
  558.  
  559. gestaltTimeMgrVersion            EQU        'tmgr'                ; time mgr version 
  560. gestaltStandardTimeMgr            EQU        1                    ; standard time mgr is present 
  561. gestaltRevisedTimeMgr            EQU        2                    ; revised time mgr is present 
  562. gestaltExtendedTimeMgr            EQU        3                    ; extended time mgr is present 
  563.  
  564. gestaltSpeechAttr                EQU        'ttsc'                ; Speech Manager attributes 
  565. gestaltSpeechMgrPresent            EQU        0                    ; bit set indicates that Speech Manager exists 
  566. gestaltSpeechHasPPCGlue            EQU        1                    ; bit set indicates that native PPC glue for Speech Manager API exists 
  567.  
  568. gestaltToolboxTable                EQU        'tbtt'
  569.  
  570. gestaltThreadMgrAttr            EQU        'thds'                ; Thread Manager attributes 
  571. gestaltThreadMgrPresent            EQU        0                    ; bit true if Thread Mgr is present 
  572. gestaltSpecificMatchSupport        EQU        1                    ; bit true if Thread Mgr supports exact match creation option 
  573. gestaltThreadsLibraryPresent    EQU        2                    ; bit true if Thread Mgr shared library is present 
  574.  
  575. gestaltTVAttr                    EQU        'tv  '                ; TV version                                        <EX16>     
  576. gestaltHasTVTuner                EQU        0                    ; supports Philips FL1236F video tuner                <EX16>     
  577. gestaltHasSoundFader            EQU        1                    ; supports Philips TEA6330 Sound Fader chip        <EX16>     
  578. gestaltHasHWClosedCaptioning    EQU        2                    ; supports Philips SAA5252 Closed Captioning        <EX16>     
  579. gestaltHasIRRemote                EQU        3                    ; supports CyclopsII Infra Red Remote control        <EX16>     
  580. gestaltHasVidDecoderScaler        EQU        4                    ; supports Philips SAA7194 Video Decoder/Scaler    <EX16>     
  581. gestaltHasStereoDecoder            EQU        5                    ; supports Sony SBX1637A-01 stereo decoder            <EX16>     
  582.  
  583. gestaltVersion                    EQU        'vers'                ; gestalt version 
  584. gestaltValueImplementedVers        EQU        5                    ; version of gestalt where gestaltValue is implemented. 
  585.  
  586. gestaltVIA1Addr                    EQU        'via1'
  587.  
  588. gestaltVIA2Addr                    EQU        'via2'
  589.  
  590. gestaltVMAttr                    EQU        'vm  '                ; virtual memory attributes 
  591. gestaltVMPresent                EQU        0                    ; true if virtual memory is present 
  592.  
  593. gestaltTranslationAttr            EQU        'xlat'                ; Translation Manager attributes 
  594. gestaltTranslationMgrExists        EQU        0                    ; True if translation manager exists 
  595. gestaltTranslationMgrHintOrder    EQU        1                    ; True if hint order reversal in effect 
  596. gestaltTranslationPPCAvail        EQU        2
  597. gestaltTranslationGetPathAPIAvail EQU        3
  598.  
  599. gestaltExtToolboxTable            EQU        'xttt'
  600.  
  601.     IF SystemSevenOrLater  THEN
  602. ;
  603. ; pascal OSErr Gestalt(OSType selector, long *response)
  604. ;
  605.     IF ¬ GENERATINGCFM THEN
  606.         _Gestalt:    OPWORD    $A1AD
  607.     ELSE
  608.         IMPORT_CFM_FUNCTION    Gestalt
  609.     ENDIF
  610.  
  611. ;
  612. ; pascal OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction)
  613. ;
  614.     IF ¬ GENERATINGCFM THEN
  615.         _ReplaceGestalt:    OPWORD    $A5AD
  616.     ELSE
  617.         IMPORT_CFM_FUNCTION    ReplaceGestalt
  618.     ENDIF
  619.  
  620. ;
  621. ; pascal OSErr NewGestalt(OSType selector, SelectorFunctionUPP gestaltFunction)
  622. ;
  623.     IF ¬ GENERATINGCFM THEN
  624.         ; parameters: 
  625.         ;     selector          => D0
  626.         ;     gestaltFunction    => A0
  627.         ; returns: 
  628.         ;     OSErr             <= D0
  629.         _NewGestalt:    OPWORD    $A3AD
  630.     ELSE
  631.         IMPORT_CFM_FUNCTION    NewGestalt
  632.     ENDIF
  633.  
  634.     ELSE
  635. ;
  636. ; pascal OSErr Gestalt(OSType selector, long *response)
  637. ;
  638.     IF GENERATINGCFM THEN
  639.         IMPORT_CFM_FUNCTION    Gestalt
  640.     ENDIF
  641.  
  642. ;
  643. ; pascal OSErr NewGestalt(OSType selector, SelectorFunctionUPP gestaltFunction)
  644. ;
  645.     IF GENERATINGCFM THEN
  646.         IMPORT_CFM_FUNCTION    NewGestalt
  647.     ENDIF
  648.  
  649. ;
  650. ; pascal OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction)
  651. ;
  652.     IF GENERATINGCFM THEN
  653.         IMPORT_CFM_FUNCTION    ReplaceGestalt
  654.     ENDIF
  655.  
  656.     ENDIF
  657.     IF SystemSevenFiveOrLater  THEN
  658. ; These functions are built into System 7.5, but not on earlier systems 
  659. ;
  660. ; pascal OSErr NewGestaltValue(OSType selector, long newValue)
  661. ;
  662.     IF ¬ GENERATINGCFM THEN
  663.         Macro
  664.         _NewGestaltValue
  665.             move.w    #$0401,d0
  666.             dc.w     $ABF1
  667.         EndM
  668.     ELSE
  669.         IMPORT_CFM_FUNCTION    NewGestaltValue
  670.     ENDIF
  671.  
  672. ;
  673. ; pascal OSErr ReplaceGestaltValue(OSType selector, long replacementValue)
  674. ;
  675.     IF ¬ GENERATINGCFM THEN
  676.         Macro
  677.         _ReplaceGestaltValue
  678.             move.w    #$0402,d0
  679.             dc.w     $ABF1
  680.         EndM
  681.     ELSE
  682.         IMPORT_CFM_FUNCTION    ReplaceGestaltValue
  683.     ENDIF
  684.  
  685. ;
  686. ; pascal OSErr SetGestaltValue(OSType selector, long newValue)
  687. ;
  688.     IF ¬ GENERATINGCFM THEN
  689.         Macro
  690.         _SetGestaltValue
  691.             move.w    #$0404,d0
  692.             dc.w     $ABF1
  693.         EndM
  694.     ELSE
  695.         IMPORT_CFM_FUNCTION    SetGestaltValue
  696.     ENDIF
  697.  
  698. ;
  699. ; pascal OSErr DeleteGestaltValue(OSType selector)
  700. ;
  701.     IF ¬ GENERATINGCFM THEN
  702.         Macro
  703.         _DeleteGestaltValue
  704.             move.w    #$0203,d0
  705.             dc.w     $ABF1
  706.         EndM
  707.     ELSE
  708.         IMPORT_CFM_FUNCTION    DeleteGestaltValue
  709.     ENDIF
  710.  
  711.     ELSE
  712.     ENDIF
  713.     ENDIF ; __GESTALT__
  714.